|
Методическая рекомендация (полезный совет)
В некоторых случаях требуется предупредить пользователя о том, что ввод тех или иных данных в таблице управляемой формы не имеет смысла или вообще не может быть выполнен до заполнения других полей таблицы. В таких случаях рекомендуется применять описанный ниже прием.
-
Для предупреждения пользователя применять свойства поля ОтображениеПредупрежденияПриРедактировании и ПредупреждениеПриРедактировании
-
Текст предупреждения указать в свойстве поля формы при разработке формы в конфигураторе.
-
Управлять свойством ОтображениеПредупрежденияПриРедактировании из встроенного языка при активизации строки таблицы и при изменении тех значений, которые влияют на условие редактирования поля
-
Дать пользователю возможность редактирования уже введенное значение, даже если оно введено "не по правилам", для того, чтобы пользователь мог удалить ранее введенное значение.
Например, в таблице формы Затраты имеются поля СтатьяЗатрат и АналитикаСтатьиЗатрат. При этом заполнение поля АналитикаСтатьиЗатрат не имеет смысла без заполнения поля СтатьяЗатрат. Тогда код формы может включать примерно следующие процедуры.
&НаКлиенте Процедура УстановитьПредупреждениеПриРедактировании() Если НЕ ЗначениеЗаполнено(Элементы.Затраты.ТекущиеДанные.СтатьяЗатрат) Тогда Если НЕ ЗначениеЗаполнено(Элементы.Затраты.ТекущиеДанные.АналитикаСтатьиЗатрат) Тогда Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании = ОтображениеПредупрежденияПриРедактировании.Отображать; Иначе Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании = ОтображениеПредупрежденияПриРедактировании.НеОтображать; КонецЕсли; Иначе Элементы.ЗатратыАналитикаСтатьиЗатрат.ОтображениеПредупрежденияПриРедактировании = ОтображениеПредупрежденияПриРедактировании.НеОтображать; КонецЕсли; КонецПроцедуры
&НаКлиенте Процедура ЗатратыПриАктивизацииСтроки(Элемент) УстановитьПредупреждениеПриРедактировании(); КонецПроцедуры
&НаКлиенте Процедура ЗатратыСтатьяЗатратПриИзменении(Элемент) УстановитьПредупреждениеПриРедактировании() КонецПроцедуры
&НаКлиенте Процедура ЗатратыАналитикаСтатьиЗатратПриИзменении(Элемент) УстановитьПредупреждениеПриРедактировании() КонецПроцедуры
В том случае если от некоторых условий зависит не только сама необходимость предупреждения, но и текст самого предупреждения, следует управлять из встроенного языка не только свойством поля ОтображениеПредупрежденияПриРедактировании, но и свойством ПредупреждениеПриРедактировании. |